Endian differences and data storage :: 자바네트워크I/O[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

자바네트워크I/O
[1]
등록일:2008-03-12 09:34:23 (0%)
작성자:
제목:Endian differences and data storage
import  java.nio.ByteBuffer;
import  java.nio.ByteOrder;

public  class  Endians  {

    public  static  void  main(String[]  args)  {
        ByteBuffer  bb  =  ByteBuffer.wrap(new  byte[12]);
        bb.asCharBuffer().put("abcdef");
        System.out.println(toString(bb.array()));
        bb.rewind();
        bb.order(ByteOrder.BIG_ENDIAN);
        bb.asCharBuffer().put("abcdef");
        System.out.println(toString(bb.array()));
        bb.rewind();
        bb.order(ByteOrder.LITTLE_ENDIAN);
        bb.asCharBuffer().put("abcdef");
        System.out.println(toString(bb.array()));

    }

    static  String  toString(byte[]  a)  {
        StringBuffer  result  =  new  StringBuffer("[");
        for  (int  i  =  0;  i  <  a.length;  i++)  {
            result.append(a[i]);
            if  (i  <  a.length  -  1)
                result.append(",  ");
        }
        result.append("]");
        return  result.toString();
    }
}  ///:~

------------------------------------------------------------------------------------------------

setByteOrder

void  setByteOrder(ByteOrder    byteOrder)

        이  스트림로부터의  향후의  데이터치의  읽을  위해(때문에),  바이트순서를  설정합니다.  예를  들어,'0x01  0x02  0x03  0x04'  의  바이트  순서는,  네트워크  바이트순서를  사용하면(자)  ‘0x01020304'  의  값이  되어,  역바이트순서에서는  ‘0x04030201'  의  값이  됩니다.

        열거  클래스  java.nio.ByteOrder  를  사용해  바이트순서를  지정합니다.  값  ByteOrder.BIG_ENDIAN  에서는,  고위의  바이트가  선두가  되는,  이른바  빅  endian  (네트워크  바이트순서)가  지정됩니다.  Motorola  와  Sparc  프로세서는  데이터를  이  형식에서  포함합니다.  한편  Intel  프로세서는,  데이터를  역순서의  ByteOrder.LITTLE_ENDIAN  로  포함합니다.

        바이트순서는,readBits  메소드로부터  돌려주어지는  결과  (ImageOutputStream.writeBits  에  의해  기입해지는  값)에는  영향을  주지  않습니다.

        파라미터:
                byteOrder  -  ByteOrder.BIG_ENDIAN  또는  java.nio.ByteOrder.LITTLE_ENDIAN  의  어느쪽이든  (향후의  read로  네트워크  바이트순서  또는  그  역순서의  어느  쪽을  사용하는지를  나타낸다)
        관련  항목:
                ByteOrder  ,  getByteOrder()  ,  readBits(int)  

getByteOrder

ByteOrder    getByteOrder()

        이  스트림로부터  읽히는  데이터의  바이트순서를,java.nio.ByteOrder  열거의  인스턴스로서  돌려줍니다.

        반환값:
                ByteOrder.BIG_ENDIAN  또는  ByteOrder.LITTLE_ENDIAN  의  어느쪽이든  (사용되는  바이트순서를  나타낸다)
        관련  항목:
                ByteOrder  ,  setByteOrder(java.nio.ByteOrder)  


[본문링크] Endian differences and data storage
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=2512
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.